До ES2021 немає функції яка б перевертала рядок, натомість така функція є у масиві Array.reverse().
Тому спочатку перетворюємо рядок у масив, перевертаємо масив за допомогою Array.reverse() і перевернутий масив об'єднюємо у рядок методом Array.join().
function reverse(s){
return s.split("").reverse().join("");
}
var text=reverse('JavaScript');
alert(text);
function reverse(s){
return Array.from(s).reverse().join("");
}
var text=reverse('JavaScript');
alert(text);
Також даний спосіб можна реалізувати за допомогою оператора розширення ....
function reverse(s){
return [...s].reverse().join("");
}
var text=reverse('JavaScript');
alert(text);
Зверніть увагі якщо символ Unicode складається з декількох байтів то такий перевернення буде некоректне.
Також можна виконати перевернення радка за допомогою зворотнього проходження рядка
function reverse(s){
var res='';
for(var i=s.length-1;i>=0;i--)
res+=s.substr(i,1);
return res;
}
alert(reverse('JavaScript'));
function reverse(s){
var res='';
for(var i=s.length-1;i>=0;i--)
res+=s[i];
return res;
}
alert(reverse('JavaScript'));
Поміняти місцями елементи, дозволяє скоротити проходження рядка у 2 рази, так як проходимо до половини довжини. Перетворюємо рядок у масив і змінюємо місцями початкові і кінцеві елементи.
function reverse(s){
s=s.split('');
var tmp, len=s.length-1, l=Math.floor(s.length/2);
for(i=0;i<l;i++){console.log(i, len-i, l)
tmp=s[i];
s[i]=s[len-i];
s[len-i]=tmp;
console.log(s)
}
return s.join('');
}
alert( reverse('JavaScript') );